package com.innovations.inn.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.innovations.common.annotation.Excel;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 合作意向对象 cooperation_intention
 * 
 * @author dp
 * @date 2024-08-09
 */
@Data
public class CooperationIntention
{
    private static final long serialVersionUID = 1L;

    /** 合作意向标识 */
    private Long cooperationIntentionId;

    /** 企业标识 */
    @Excel(name = "企业标识")
    private Long enterpriseId;

    /** 科研机构标识 */
    @Excel(name = "科研机构标识")
    private Long institutionId;

    /** 意向需求标识 */
    @Excel(name = "意向需求标识")
    private Long businessDemandId;

    /** 科研成果标识 */
    @Excel(name = "科研成果标识")
    private Long researchOutcomesId;

    /** 合作意向描述 */
    @Excel(name = "合作意向描述")
    private String intentionDesc;

    /** 合作意向日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "合作意向日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date intentionDate;

    /** 状态;0：创建；1：初探；2：深入洽谈；3：已签订协议；4：合作完成； */
    @Excel(name = "状态;0：创建；1：初探；2：深入洽谈；3：已签订协议；4：合作完成；")
    private Long state;

    /** 创建人 */
    private Long createBy;

    /** 创建时间 */
    private Date createTime;

    /** 修改人 */
    @Excel(name = "修改人")
    private Long modifyBy;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date modifyTime;

    /** 逻辑删除 */
    @Excel(name = "逻辑删除")
    private Long isDeleted;


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("cooperationIntentionId", getCooperationIntentionId())
            .append("enterpriseId", getEnterpriseId())
            .append("institutionId", getInstitutionId())
            .append("businessDemandId", getBusinessDemandId())
            .append("researchOutcomesId", getResearchOutcomesId())
            .append("intentionDesc", getIntentionDesc())
            .append("intentionDate", getIntentionDate())
            .append("state", getState())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("modifyBy", getModifyBy())
            .append("modifyTime", getModifyTime())
            .append("isDeleted", getIsDeleted())
            .toString();
    }
}
